﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SmartWMS.Server.BusinessServer.SalesReturns.Dto
{
    public class ProcuremenReturnInfo
    {
        /// <summary>
        /// 产品id
        /// </summary>
        public int Cid { get; set; }
        /// <summary>
        /// 采购退货主键
        /// </summary>
        public int Id { get; set; }
        /// <summary>
        /// 退货单号
        /// </summary>
        public string? SalesReturnCode { get; set; }
        /// <summary>
        /// 采购单号
        /// </summary>
        public string? ProcurementCode { get; set; }
        /// <summary>
        /// 单据类型
        /// </summary>
        public int DocumentType { get; set; }
        /// <summary>
        /// 单据状态
        /// </summary>
        public bool DocumentState { get; set; }
        /// <summary>
        /// 关联销售单号
        /// </summary>
        public string? SaleCode { get; set; }
        /// <summary>
        /// 供应商编号
        /// </summary>
        public string? SupplierCode { get; set; }
        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime ProcurementTime { get; set; }
        /// <summary>
        /// 客户名称
        /// </summary>
        public string? ClientName { get; set; }
        /// <summary>
        /// 联系人
        /// </summary>
        public string? ContactName { get; set; }
        /// <summary>
        /// 电话
        /// </summary>
        public string? Phone { get; set; }
        /// <summary>
        /// 收货时间
        /// </summary>
        public DateTime ReceiptTime { get; set; }
        /// <summary>
        /// 制单人
        /// </summary>
        public string? MakerName { get; set; }
        /// <summary>
        /// 制单日期
        /// </summary>
        public DateTime MakerTime { get; set; }
        /// <summary>
        /// 是否入账
        /// </summary>
        public bool ProcurementProcurement { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        public string? Remark { get; set; }
        /// <summary>
        /// 状态
        /// </summary>
        public int ProcurementState { get; set; }
        /// <summary>
        /// 采购Id
        /// </summary>
        public int ProcuremenId { get; set; }
        /// <summary>
        /// 产品Id
        /// </summary>
        public int ProductId { get; set; }
        /// <summary>
        /// 制单人
        /// </summary>
        public string? UsreName { get; set; }
        /// <summary>
        /// 制单日期
        /// </summary>
        public DateTime UserTime { get; set; }
        /// <summary>
        /// 发货日期
        /// </summary>
        public DateTime ShipmentsTime { get; set; }
        /// <summary>
        /// 退货数
        /// </summary>
        public int ReturnNumber { get; set; }
        /// <summary>
        /// 总额
        /// </summary>
        public decimal ReturnSum { get; set; }
        /// <summary>
        /// 状态
        /// </summary>
        public int ReturnState { get; set; }
        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime ReturnTime { get; set; } = DateTime.Now;
        /// <summary>
        /// 审核原因
        /// </summary>
        public string? AuditRemark { get; set; }

        /// <summary>
        /// 购买数量
        /// </summary>
        public int BuyNumber { get; set; }

        /// <summary>
        /// 总价
        /// </summary>
        public decimal SumPrice { get; set; }
        /// <summary>
        /// 产品编号
        /// </summary>
        public string? ProductCode { get; set; }

        /// <summary>
        /// 产品名称
        /// </summary>
        public string? ProductName { get; set; }

        /// <summary>
        /// 厂家编码
        /// </summary>
        public string? FactoryNo { get; set; }

        /// <summary>
        /// 内部编码
        /// </summary>
        public string? InnerNo { get; set; }


        /// <summary>
        /// 默认供应商
        /// </summary>
        public int DefaultSupplierId { get; set; }

        /// <summary>
        /// 默认仓库
        /// </summary>
        public int DefaultWarehouseId { get; set; }


        /// <summary>
        /// 默认库位
        /// </summary>
        public int DefaultLocationId { get; set; }

        /// <summary>
        /// 默认客户
        /// </summary>
        public int DefaultCustomId { get; set; }


        /// <summary>
        /// 规格
        /// </summary>
        public string? Specs { get; set; }

        /// <summary>
        /// 类别
        /// </summary>
        public int ProductTypeId { get; set; }

        /// <summary>
        /// 存储单位
        /// </summary>
        public int UnitId { get; set; }

        /// <summary>
        /// 预警(上)
        /// </summary>

        public int Ceiling { get; set; }


        /// <summary>
        /// 预警(下)
        /// </summary>

        public int Floor { get; set; }

        /// <summary>
        /// 包装类型
        /// </summary>
        public string? PackageType { get; set; }


        /// <summary>
        /// 价格
        /// </summary>
        public decimal Price { get; set; }


        /// <summary>
        /// 重量
        /// </summary>
        public string? Weight { get; set; }

        /// <summary>
        /// 描述
        /// </summary>
        public string? Describe { get; set; }

        /// <summary>
        /// 库存
        /// </summary>
        public int Inventory { get; set; }

        /// <summary>
        /// 供应商名称
        /// </summary>
        public string? SupplierName { get; set; }

        /// <summary>
        /// 类型
        /// </summary>
        public string? SupplierType { get; set; }


        /// <summary>
        /// 电子邮件
        /// </summary>
        [MaxLength(200)]
        public string? Email { get; set; }

        /// <summary>
        /// 联系人
        /// </summary>
        public string? Contacts { get; set; }

        /// <summary>
        /// 地址
        /// </summary>
        [MaxLength(200)]
        public string? Address { get; set; }


        /// <summary>
        /// 传真
        /// </summary>
        [MaxLength(200)]
        public string? fax { get; set; }


        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreateTime { get; set; }

        /// <summary>
        /// 当前页
        /// </summary>
        public int pageIndex { get; set; }
        /// <summary>
        /// 页大小
        /// </summary>
        public int pageSize { get; set; }
    }
}
